#ifndef __AFX_MAINFRAME
#define __AFX_MAINFRAME

#pragma warning(disable:4786)

#include <afxwin.h>
#include <afxext.h>
#include <afxcmn.h>
#include "mainsplitterwnd.h"
#include "resource.h"

class CChildView : public CWnd
{
public:
    CChildView() {}
    virtual ~CChildView() {}

protected:
    //{{AFX_VIRTUAL(CChildView)
    virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
    //}}AFX_VIRTUAL

protected:
    //{{AFX_MSG(CChildView)
    afx_msg void OnPaint();
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()
};

class CMainForm : public CFormView
{
public:
    DECLARE_DYNCREATE(CMainForm)
    CMainForm();           // protected constructor used by dynamic creation
    virtual ~CMainForm() {}

    CFont font;

public:
    //{{AFX_DATA(CMainForm)
    enum { IDD = IDD_MAINFORM };
    CButton          m_BtnExec;
    CEdit          m_EditCmdLine;
    CEdit         m_Log;
    //}}AFX_DATA

public:
    //{{AFX_VIRTUAL(CMainForm)
    public:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
    virtual void OnInitialUpdate();
    //}}AFX_VIRTUAL

#ifdef _DEBUG
    virtual void AssertValid() const;
    virtual void Dump(CDumpContext& dc) const;
#endif

    //{{AFX_MSG(CMainForm)
    afx_msg void OnBtnExec();
    afx_msg void OnSize(UINT nType, int cx, int cy);
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()
};

class CMainFrame : public CFrameWnd
{
public:
    CMainFrame() {}
    virtual ~CMainFrame() {}

    CEdit * /* !!! CRichEditCtrl * */ GetLogControl() { return &m_pMainForm->m_Log; }

protected: 
    DECLARE_DYNAMIC(CMainFrame)

public:
    //{{AFX_VIRTUAL(CMainFrame)
    public:
    virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
    virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);
    protected:
    virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
    //}}AFX_VIRTUAL

#ifdef _DEBUG
    virtual void AssertValid() const;
    virtual void Dump(CDumpContext& dc) const;
#endif

public:
    CStatusBar   m_wndStatusBar;
    CToolBar     m_wndToolBar;
    CMainSplitterWnd m_wndSplitter;
    CMainForm   *m_pMainForm;
    CListCtrl   *m_pBCList;

protected:
    //{{AFX_MSG(CMainFrame)
    afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
    afx_msg void OnSetFocus(CWnd *pOldWnd);
    afx_msg void OnClose();
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}

#endif // __AFX_MAINFRAME
